-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Random test now available for the adder. Fails with a stack overflow … #6
Conversation
…on examples with 650 bits
@mkorbel1 Is there a way to increase the stack size in Dart so that we don't hit a stack overflow error when working with 650 bit adders? Is there a lot of recursion inside the Dart simulator that might be causing this?
|
I haven't seen this before. From the stack trace, I think the chain of |
I don't think there's an easy way to just increase the stack size in Dart, though it is apparently possible (I think down this route: https://unix.stackexchange.com/questions/127602/default-stack-size-for-pthreads/127615#127615). However, I have some paths to go down that I think should make this much harder to hit while also improving simulation performance. I also might have a way to make it so you'll never hit this. I'll keep you updated! I think this only would affect really long combinational chains of logic. |
I think that is right. However you might specify a really long combinational chain expecting that synthesis will fix it up.
There is a 512-bit priority mux in OpenROAD’s version of Black Parrot that is specified in a linear way like this (the output of sv2v).
You might also want to use an inefficient but easy to understand design as a reference in a miter simulation with a block you care about.
From: Max Korbel ***@***.***>
Sent: Tuesday, November 8, 2022 8:53 AM
To: stevenmburns/rohd_sklansky ***@***.***>
Cc: Burns, Steven M ***@***.***>; Author ***@***.***>
Subject: Re: [stevenmburns/rohd_sklansky] Random test now available for the adder. Fails with a stack overflow … (PR #6)
I don't think there's an easy way to just increase the stack size in Dart, though it is apparently possible (I think down this route: https://unix.stackexchange.com/questions/127602/default-stack-size-for-pthreads/127615#127615).
However, I have some paths to go down that I think should make this much harder to hit while also improving simulation performance. I also might have a way to make it so you'll never hit this. I'll keep you updated!
I think this only would affect really long combinational chains of logic.
—
Reply to this email directly, view it on GitHub<#6 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AALRI7V34EOOOHG2UTPIM6TWHKAOHANCNFSM6AAAAAARZSLHFQ>.
You are receiving this because you authored the thread.Message ID: ***@***.******@***.***>>
|
@stevenmburns I didn't fully fix the issue yet, but the changes in this PR should significantly mitigate the issue and allow longer chains of combinational logic. A full fix requires a bigger set of changes. |
@stevenmburns ROHD v0.4.1 was just released, including the mitigation that helps with this issue |
…on examples with 650 bits